<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.4"/>
<title>SDL Visual Test: C:/Users/DELL/Work/sdlvisualtest/visualtest/src/rwhelper.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">SDL Visual Test
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.4 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">rwhelper.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;SDL_test.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="_s_d_l__visualtest__sut__configparser_8h_source.html">SDL_visualtest_sut_configparser.h</a>&quot;</code><br/>
<code>#include &quot;SDL_visualtest_rwhelper.h&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa7878508e6d851b11dc1d1186324064a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rwhelper_8c.html#aa7878508e6d851b11dc1d1186324064a">SDLVisualTest_RWHelperResetBuffer</a> (<a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *buffer)</td></tr>
<tr class="separator:aa7878508e6d851b11dc1d1186324064a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92794c04d5568bde0da9f3020d88f44c"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rwhelper_8c.html#a92794c04d5568bde0da9f3020d88f44c">SDLVisualTest_RWHelperReadChar</a> (SDL_RWops *rw, <a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *buffer)</td></tr>
<tr class="separator:a92794c04d5568bde0da9f3020d88f44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af97cfdf8d58f716efa8fd9204666df12"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rwhelper_8c.html#af97cfdf8d58f716efa8fd9204666df12">SDLVisualTest_RWHelperReadLine</a> (SDL_RWops *rw, char *str, int size, <a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *buffer, char comment_char)</td></tr>
<tr class="separator:af97cfdf8d58f716efa8fd9204666df12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f94417fa973af01a27452acd0043e8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="rwhelper_8c.html#ac7f94417fa973af01a27452acd0043e8">SDLVisualTest_RWHelperCountNonEmptyLines</a> (SDL_RWops *rw, <a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *buffer, char comment_char)</td></tr>
<tr class="separator:ac7f94417fa973af01a27452acd0043e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Header file with some helper functions for working with SDL_RWops.</p>
<p>Source file with some helper functions for working with SDL_RWops. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ac7f94417fa973af01a27452acd0043e8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int SDLVisualTest_RWHelperCountNonEmptyLines </td>
          <td>(</td>
          <td class="paramtype">SDL_RWops *&#160;</td>
          <td class="paramname"><em>rw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>comment_char</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Counts the number of lines that are not all whitespace and comments using the SDL_RWops object pointed to by <code>rw</code>. <code>comment_char</code> indicates the character used for comments. Uses the buffer pointed to by <code>buffer</code> to read data in blocks.</p>
<dl class="section return"><dt>Returns</dt><dd>Number of lines on success, -1 on failure. </dd></dl>

</div>
</div>
<a class="anchor" id="a92794c04d5568bde0da9f3020d88f44c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char SDLVisualTest_RWHelperReadChar </td>
          <td>(</td>
          <td class="paramtype">SDL_RWops *&#160;</td>
          <td class="paramname"><em>rw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads a single character using the SDL_RWops object pointed to by <code>rw</code>. This function reads data in blocks and stores them in the buffer pointed to by <code>buffer</code>, so other SDL_RWops functions should not be used in conjunction with this function.</p>
<dl class="section return"><dt>Returns</dt><dd>The character that was read. </dd></dl>

</div>
</div>
<a class="anchor" id="af97cfdf8d58f716efa8fd9204666df12"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* SDLVisualTest_RWHelperReadLine </td>
          <td>(</td>
          <td class="paramtype">SDL_RWops *&#160;</td>
          <td class="paramname"><em>rw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>str</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>comment_char</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads characters using the SDL_RWops object pointed to by <code>rw</code> into the character array pointed to by <code>str</code> (of size <code>size</code>) until either the array is full or a new line is encountered. If <code>comment_char</code> is encountered, all characters from that position till the end of the line are ignored. The new line is not included as part of the buffer. Lines with only whitespace and comments are ignored. This function reads data in blocks and stores them in the buffer pointed to by <code>buffer</code>, so other SDL_RWops functions should not be used in conjunction with this function.</p>
<dl class="section return"><dt>Returns</dt><dd>pointer to the string on success, NULL on failure or EOF. </dd></dl>

</div>
</div>
<a class="anchor" id="aa7878508e6d851b11dc1d1186324064a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SDLVisualTest_RWHelperResetBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_s_d_l_visual_test___r_w_helper_buffer.html">SDLVisualTest_RWHelperBuffer</a> *&#160;</td>
          <td class="paramname"><em>buffer</em>)</td><td></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Resets the buffer pointed to by <code>buffer</code> used by some of the helper functions. This function should be called when you're using one of the helper functions with a new SDL_RWops object. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Sep 26 2013 00:18:24 for SDL Visual Test by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.4
</small></address>
</body>
</html>
